subroutine init_pptr(e)
  use param
  use global
  implicit none
  real(dbl),intent(in) :: e
  integer :: i,p
  ! -------------------------------------------------- !
  p=0
  do i=xsec%ndata,1,-1
     if (e.ge.xsec%e(i)) then
        p=i
        exit
     end if
  end do
  if (p.eq.xsec%ndata) stop 'init_pptr(1)'
  if (p.eq.0) then
     print '(3x,"Warning-",1pe9.3,1x,"is below of minimum of xsec.")'
  end if
  xsec%pos=p+1
  ! -------------------------------------------------- !
  p=0
  do i=nstop%ndata,1,-1
     if (e.ge.nstop%e(i)) then
        p=i
        exit
     end if
  end do
  if (p.eq.nstop%ndata) stop 'init_pptr(2)'
  if (p.eq.0) then
     print '(3x,"Warning-",1pe9.3,1x,"is below of minimum of nstop.")'
  end if
  nstop%pos=p+1
end subroutine init_pptr
